GtkMenuTrackerItem: fix submenu visibility flag
authorRyan Lortie <desrt@desrt.ca>
Wed, 20 Aug 2014 19:43:09 +0000 (15:43 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 14 Dec 2014 23:34:52 +0000 (18:34 -0500)
We were only properly setting the "is-visible" flag to TRUE for menu
items with associated actions and not (for example) on submenus.

This was fine because the code for building GtkMenus from models
(correctly) assumed that submenus should always be visible and never
checked the property.

This is not true for the Mac OS code, which actually checked the
property and found it to be false for submenus.

Initialise the property to TRUE so that we get the correct value
reported for items that don't have actions.

https://bugzilla.gnome.org/show_bug.cgi?id=735122

gtk/gtkmenutrackeritem.c

index 56b914f428270790457f1c3ee596a5be9f5195a0..a815d330c4f7492ab1be8fcf8fd0cdfe58f8477e 100644 (file)
@@ -556,7 +556,10 @@ _gtk_menu_tracker_item_new (GtkActionObservable *observable,
         g_variant_unref (state);
     }
   else
-    self->sensitive = TRUE;
+    {
+      gtk_menu_tracker_item_update_visibility (self);
+      self->sensitive = TRUE;
+    }
 
   return self;
 }